package com.ozo.cloud.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 操作日志
 *
 * @author qiangesoft
 * @version 1.0
 * @date 2024-11-20 10:47:15
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("sys_operation_log")
public class SysOperationLog {

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 模块
     */
    @TableField("module")
    private String module;

    /**
     * 操作类型
     */
    @TableField("operation_type")
    private String operationType;

    /**
     * 操作名称
     */
    @TableField("operation_name")
    private String operationName;

    /**
     * 方法
     */
    @TableField("method")
    private String method;

    /**
     * 请求url
     */
    @TableField("request_url")
    private String requestUrl;

    /**
     * 请求方式
     */
    @TableField("request_method")
    private String requestMethod;

    /**
     * 请求ip
     */
    @TableField("request_ip")
    private String requestIp;

    /**
     * 请求地点
     */
    @TableField("request_location")
    private String requestLocation;

    /**
     * 请求参数
     */
    @TableField("request_param")
    private String requestParam;

    /**
     * 请求体
     */
    @TableField("request_body")
    private String requestBody;

    /**
     * 请求耗时
     */
    @TableField("cost_time")
    private Long costTime;

    /**
     * 成功标志
     */
    @TableField("success_flag")
    private Byte successFlag;

    /**
     * 响应数据
     */
    @TableField("response_data")
    private String responseData;

    /**
     * 异常信息
     */
    @TableField("error_msg")
    private String errorMsg;

    /**
     * 操作人
     */
    @TableField("operation_user")
    private String operationUser;

    /**
     * 操作时间
     */
    @TableField("operation_time")
    private LocalDateTime operationTime;

}
